package com.br.sae.model.entitys;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.NamedQuery;
import javax.persistence.JoinColumn;

@Entity
@NamedQuery(name = "TurmaBy", query = "SELECT turma FROM Turma turma")
public class Turma {

	@Id@GeneratedValue
    private int id;
    private String nome;    
    private String dataCriacao;
    private String nivel;
    private int qntAlunos;
    private String turno;
    private String serie;
    @ManyToMany(cascade={CascadeType.PERSIST})
    @JoinTable(name="turma_alunos", joinColumns=@JoinColumn(name="id_turma"), 
    inverseJoinColumns=@JoinColumn(name="id_matricula"))
    private List<Matricula> listaAlunos = new ArrayList<Matricula>();
    @ManyToMany(cascade={CascadeType.PERSIST})
    @JoinTable(name="turma_disciplinas", joinColumns=@JoinColumn(name="id_turma"), 
    inverseJoinColumns=@JoinColumn(name="id_disciplina"))
    private List<Disciplina> listaDisciplinas = new ArrayList<Disciplina>();
    
    
	public Turma(){
		
	}
    public Turma(String nome, String dataCriacao, String nivel, String turno,
			String serie) {
		this.nome = nome;
		this.dataCriacao = dataCriacao;
		this.nivel = nivel;
		this.turno = turno;
		this.serie = serie;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getDataCriacao() {
		return dataCriacao;
	}
	public void setDataCriacao(String dataCriacao) {
		this.dataCriacao = dataCriacao;
	}
	public String getNivel() {
		return nivel;
	}
	public void setNivel(String nivel) {
		this.nivel = nivel;
	}
	public int getQntAlunos() {
		return qntAlunos;
	}
	public void setQntAlunos(int qntAlunos) {
		this.qntAlunos = qntAlunos;
	}
	public String getTurno() {
		return turno;
	}
	public void setTurno(String turno) {
		this.turno = turno;
	}
	public String getSerie() {
		return serie;
	}
	public void setSerie(String serie) {
		this.serie = serie;
	}
	public List<Matricula> getListaAlunos() {
		return listaAlunos;
	}
	public void setListaAlunos(List<Matricula> listaAlunos) {
		this.listaAlunos = listaAlunos;
	}
	public List<Disciplina> getListaDisciplinas() {
		return listaDisciplinas;
	}
	public void setListaDisciplinas(List<Disciplina> listaDisciplinas) {
		this.listaDisciplinas = listaDisciplinas;
	}
    
}
